package org.dydl.service.system;

import org.dydl.common.dto.ResponseMessage;
import org.dydl.model.system.Production;
import org.dydl.model.system.vo.ProductionDetailVO;
import org.dydl.model.system.vo.RegisterVO;

public interface ProduceService {

	/**
	 * 根据订单号查询生产任务单表头
	 * @param orderNo
	 * @return
	 */
	ResponseMessage list(String orderNo);
	
	/**
	 * 添加生产任务单 表头表体一起保存
	 * @param detailVO
	 * @return
	 */
	ResponseMessage bothSave(ProductionDetailVO detailVO);
	
	/**
	 * 保存生产任务单表头
	 * @param production
	 * @return
	 */
	ResponseMessage save(Production production);
	
	/**
	 * 查询生产任务列表
	 * @param page
	 * @param rows
	 * @param productionNo
	 * @return
	 */
	ResponseMessage getList(int page ,int rows,String productionNo);
	
	/**
	 * 查询生产任务明细
	 * @param page
	 * @param rows
	 * @param orderNo
	 * @return
	 */
	ResponseMessage getDetailList(int page ,int rows,String orderNo);
	
	/**
	 * 查询可配载列表
	 * @return
	 */
	ResponseMessage getStowageList();
	
	/**
	 * 查询生产任务成品所需物料列表
	 * @param orderNo
	 * @return
	 */
	ResponseMessage getLoss(String orderNo);
	
	/**
	 * 登记入库
	 * @param registerVO
	 * @return
	 */
	ResponseMessage doRegister(RegisterVO registerVO);
	
	/**
	 * 审核
	 * @param id
	 */
	ResponseMessage doExamination(Integer id,Production production);
	
	/**
	 * 完成订单
	 * @param id
	 * @return
	 */
	ResponseMessage complete(Integer id);
}
